const TESTCASES = [
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('11122233344477z'),
		},
		hu: {
			points: 4,
			fan: [[FAN_ALL_HONORS, 4]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('11133355777999m'),
		},
		hu: {
			points: 3,
			fan: [[FAN_FULL_FLUSH, 2], [FAN_ALL_PUNGS, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('11112222333399m'),
		},
		hu: {
			points: 3,
			fan: [[FAN_FULL_FLUSH, 2], [FAN_ALL_OUTSIDE, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('11112345678999m'),
		},
		hu: {
			points: 3,
			fan: [[FAN_FULL_FLUSH, 2], [FAN_STRAIGHT, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('222444666888m77z'),
		},
		hu: {
			points: 2,
			fan: [[FAN_HALF_FLUSH, 1], [FAN_ALL_PUNGS, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('112233778899m77z'),
		},
		hu: {
			points: 2,
			fan: [[FAN_HALF_FLUSH, 1], [FAN_ALL_OUTSIDE, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('123456789m11177z'),
		},
		hu: {
			points: 2,
			fan: [[FAN_HALF_FLUSH, 1], [FAN_STRAIGHT, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('112233445566m77z'),
		},
		hu: {
			points: 1,
			fan: [[FAN_HALF_FLUSH, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111222333m444p55s'),
		},
		hu: {
			points: 1,
			fan: [[FAN_ALL_PUNGS, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111222333m123p55z'),
		},
		hu: {
			points: 1,
			fan: [[FAN_ALL_OUTSIDE, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111123456789m11p'),
		},
		hu: {
			points: 1,
			fan: [[FAN_STRAIGHT, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('333678m678p67899s'),
		},
		hu: {
			points: 1,
			fan: [[FAN_MIXED_TRIPLE, 1]],
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111222333m123p55s'),
		},
		shanten: 1,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('112233445566m77p'),
		},
		shanten: 1,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('1112345678999m'),
		},
		shanten: 0,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('19m19p19s1234567z'),
		},
		shanten: 8,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('147m258p369s12345z'),
		},
		shanten: 8,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111m456p456s1155z'),
		},
		shanten: 2,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111m456p246s1155z'),
		},
		shanten: 3,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111m456p246s1255z'),
		},
		shanten: 3,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('111m457p246s1255z'),
		},
		shanten: 4,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('123456789p4444s'),
		},
		shanten: 1,
	},
	{
		enabled: true,
		hand: {
			melds: [],
			tiles: createTilesFromString('1111234444999m'),
		},
		shanten: 1,
	},
	{
		enabled: true,
		hand: {
			melds: [
				[CHOICE_PUNG, TILE_M1 + 40, TILE_M1, [TILE_M1, TILE_M1]],
				[CHOICE_PUNG, TILE_M4 + 40, TILE_M4, [TILE_M4, TILE_M4]],
			],
			tiles: createTilesFromString('1234999m'),
		},
		shanten: 1,
	},
	{
		enabled: true,
		hand: {
			melds: [
				[CHOICE_CHOW, TILE_M5 + 80, TILE_M5, [TILE_M6, TILE_M7]],
				[CHOICE_CHOW, TILE_M7 + 80, TILE_M7, [TILE_M8, TILE_M9]],
				[CHOICE_PUNG, TILE_Z2 + 40, TILE_Z2, [TILE_Z2, TILE_Z2]],
				[CHOICE_PUNG, TILE_Z5 + 40, TILE_Z5, [TILE_Z5, TILE_Z5]],
			],
			tiles: createTilesFromString('11s'),
		},
		shanten: 1,
	},
	{
		enabled: true,
		hand: {
			melds: [
				[CHOICE_CHOW, TILE_M5 + 80, TILE_M5, [TILE_M6, TILE_M7]],
				[CHOICE_CHOW, TILE_M7 + 80, TILE_M7, [TILE_M8, TILE_M9]],
				[CHOICE_CHOW, TILE_S7 + 80, TILE_S7, [TILE_S8, TILE_S9]],
				[CHOICE_PUNG, TILE_Z5 + 40, TILE_Z5, [TILE_Z5, TILE_Z5]],
			],
			tiles: createTilesFromString('11s'),
		},
		shanten: 14,
	},
	{
		enabled: true,
		hand: {
			melds: [
				[CHOICE_CHOW, TILE_S3 + 80, TILE_S3, [TILE_S4, TILE_S5]],
				[CHOICE_PUNG, TILE_S5 + 40, TILE_S5, [TILE_S5, TILE_S5]],
				[CHOICE_PUNG, TILE_Z2 + 40, TILE_Z2, [TILE_Z2, TILE_Z2]],
			],
			tiles: createTilesFromString('11m12s'),
		},
		shanten: 2,
	},
]